/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.hl7.v3;


/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>PPDPQ</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link org.hl7.v3.PPDPQ#getStandardDeviation <em>Standard Deviation</em>}</li>
 *   <li>{@link org.hl7.v3.PPDPQ#getDistributionType <em>Distribution Type</em>}</li>
 * </ul>
 * </p>
 *
 * @see org.hl7.v3.V3Package#getPPDPQ()
 * @model extendedMetaData="name='PPD_PQ' kind='elementOnly'"
 * @generated
 */
public interface PPDPQ extends PQ {
	/**
	 * Returns the value of the '<em><b>Standard Deviation</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * <!-- begin-model-doc -->
	 * 
	 *                         The primary measure of variance/uncertainty of the
	 *                         value (the square root of the sum of the squares of
	 *                         the differences between all data points and the mean).
	 *                         The standard deviation is used to normalize the data
	 *                         for computing the distribution function. Applications
	 *                         that cannot deal with probability distributions can
	 *                         still get an idea about the confidence level by looking
	 *                         at the standard deviation.
	 *                      
	 * <!-- end-model-doc -->
	 * @return the value of the '<em>Standard Deviation</em>' containment reference.
	 * @see #setStandardDeviation(PQ)
	 * @see org.hl7.v3.V3Package#getPPDPQ_StandardDeviation()
	 * @model containment="true"
	 *        extendedMetaData="kind='element' name='standardDeviation' namespace='##targetNamespace'"
	 * @generated
	 */
	PQ getStandardDeviation();

	/**
	 * Sets the value of the '{@link org.hl7.v3.PPDPQ#getStandardDeviation <em>Standard Deviation</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Standard Deviation</em>' containment reference.
	 * @see #getStandardDeviation()
	 * @generated
	 */
	void setStandardDeviation(PQ value);

	/**
	 * Returns the value of the '<em><b>Distribution Type</b></em>' attribute.
	 * The default value is <code>"G"</code>.
	 * The literals are from the enumeration {@link org.hl7.v3.ProbabilityDistributionType}.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * <!-- begin-model-doc -->
	 * 
	 *                      A code specifying the type of probability distribution.
	 *                      Possible values are as shown in the attached table.
	 *                      The NULL value (unknown) for the type code indicates
	 *                      that the probability distribution type is unknown. In
	 *                      that case, the standard deviation has the meaning of an
	 *                      informal guess.
	 *                   
	 * <!-- end-model-doc -->
	 * @return the value of the '<em>Distribution Type</em>' attribute.
	 * @see org.hl7.v3.ProbabilityDistributionType
	 * @see #isSetDistributionType()
	 * @see #unsetDistributionType()
	 * @see #setDistributionType(ProbabilityDistributionType)
	 * @see org.hl7.v3.V3Package#getPPDPQ_DistributionType()
	 * @model default="G" unsettable="true"
	 *        extendedMetaData="kind='attribute' name='distributionType'"
	 * @generated
	 */
	ProbabilityDistributionType getDistributionType();

	/**
	 * Sets the value of the '{@link org.hl7.v3.PPDPQ#getDistributionType <em>Distribution Type</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Distribution Type</em>' attribute.
	 * @see org.hl7.v3.ProbabilityDistributionType
	 * @see #isSetDistributionType()
	 * @see #unsetDistributionType()
	 * @see #getDistributionType()
	 * @generated
	 */
	void setDistributionType(ProbabilityDistributionType value);

	/**
	 * Unsets the value of the '{@link org.hl7.v3.PPDPQ#getDistributionType <em>Distribution Type</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #isSetDistributionType()
	 * @see #getDistributionType()
	 * @see #setDistributionType(ProbabilityDistributionType)
	 * @generated
	 */
	void unsetDistributionType();

	/**
	 * Returns whether the value of the '{@link org.hl7.v3.PPDPQ#getDistributionType <em>Distribution Type</em>}' attribute is set.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return whether the value of the '<em>Distribution Type</em>' attribute is set.
	 * @see #unsetDistributionType()
	 * @see #getDistributionType()
	 * @see #setDistributionType(ProbabilityDistributionType)
	 * @generated
	 */
	boolean isSetDistributionType();

} // PPDPQ
